
package cn.org.chiss.rhin._2015.base.object;

import cn.org.chiss.rhin._2015.base.CodeableConcept;
import cn.org.chiss.rhin._2015.base.terminology.RegTermObject;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.xml.bind.annotation.*;
import java.util.List;


/**
 * <p>RegObject complex type的 Java 类。
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType name="RegObject"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="id" type="{http://www.chiss.org.cn/rhin/2015}MainID" minOccurs="0"/&gt;
 *         &lt;element name="statusCode" type="{http://www.chiss.org.cn/rhin/2015}ObjectStatus" minOccurs="0"/&gt;
 *         &lt;element name="classCode" type="{http://www.chiss.org.cn/rhin/2015}CodeableConcept" minOccurs="0"/&gt;
 *         &lt;element name="extension" type="{http://www.chiss.org.cn/rhin/2015}Extension" maxOccurs="unbounded" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RegObjectMessage", propOrder = {
        "entryUUID",
        "statusCode",
        "classCode",
        "extension"
})
@XmlSeeAlso({
        Person.class,
        Patient.class,
        Organization.class,
        Practitioner.class,
        RegTermObject.class
})
@Data
@Accessors(chain = true)
public abstract class RegObjectMessage {

    /**
     * c必填
     * m必填
     */
    protected MainID entryUUID;

    /**
     * c.默认New
     * m默认New
     * 可用状态
     * 		New 		- 新建
     * 		Active      - 可用
     * 		Nullified   - 废弃
     */
    protected ObjectStatus statusCode;
    /**
     * 文件夹分类
     *  c.DocumentEntry里必填
     *  m.DocumentEntry里必填必填
     */
    protected CodeableConcept classCode;
    /**
     * repetitions扩展字段
     */
    @XmlElement(nillable = true)
    protected List<Extension> extension;

}
